/**
 * 
 */
package generalTest;

import java.util.Vector;

import general.Point;
import junit.framework.Assert;
import junit.framework.TestCase;

/**
 * Classe de test de la classe Point
 * @author remi
 *@version 1.0
 */
public class PointTest extends TestCase {

	/**
	 * Test method for {@link general.Point#distance(general.Point, general.Point)}.
	 */
	public void testDistance() {
		fail("Not yet implemented"); // TODO
	}

	/**
	 * Test method for {@link general.Point#distanceEuclidienne(general.Point, general.Point)}.
	 */
	public void testDistanceEuclidienne() {
		
		//creation de deux points 
		
		fail("Not yet implemented"); // TODO
	}

	/**
	 * Test method for {@link general.Point#majCoefPoint()}.
	 */
	public void testMajCoefPoint() {
		
		//on cree un nouveaux point avec certains coef et certaines valeurs de critere
		//on test ensuite si le resultat de majCoef est bien le bon
		
		Point point = new Point();
		Vector<Float> vecteurCritere = new Vector<Float>();//vecteur de critere
		Vector<Float> vecteurAxe= new Vector<Float>();//vecteur de axe
		Vector<Float> vecteurResultat1= new Vector<Float>();//vecteur de resultat
		Vector<Float> vecteurResultat2= new Vector<Float>();//vecteur de resultat
		Vector<Float> vecteurResultat3= new Vector<Float>();//vecteur de resultat
		Vector<Float> vecteurResultat4= new Vector<Float>();//vecteur de resultat
		
		for(int i=0;i<4;i++){
			vecteurCritere.add(new Float(i));
		}
		for(int i=0;i<10;i++){
			vecteurAxe.add(new Float(i));
			vecteurResultat1.add(new Float(i));
			vecteurResultat2.add(new Float(i));
			vecteurResultat3.add(new Float(i));
			vecteurResultat4.add(new Float(i));
		}
		
		for(int i=0;i<10;i++){
			vecteurResultat1.set(i, vecteurResultat1.get(i)* vecteurAxe.get(0));
		}
		for(int i=0;i<10;i++){
			vecteurResultat2.set(i, vecteurResultat2.get(i)* vecteurAxe.get(1));
		}
		for(int i=0;i<10;i++){
			vecteurResultat3.set(i, vecteurResultat3.get(i)* vecteurAxe.get(2));
		}
		for(int i=0;i<10;i++){
			vecteurResultat4.set(i, vecteurResultat4.get(i)* vecteurAxe.get(3));
		}
		
		
		for(int i =0;i<4;i++){
		assertsEquals( "string qui sert a rien" , vecteurResultat1 , point.getPoint().get(i), (float) 0.1);
		}
		
		
		fail("Not yet implemented"); // TODO
	}

	/**
	 * methode permettant de comparer deux Vector<Float>
	 * @param string
	 * @param vecteurResultat1
	 * @param vector
	 * @param delta
	 */
	private void assertsEquals(String string, Vector<Float> v1,
			Vector<Float> v2, float delta) {
		
		for(int i = 0;i<v1.size();i++){
			Assert.assertEquals("Calcul correspondance de vecteur", v1.get(i), v2.get(i), delta);
		}
	}

}
